package cn.chinaunicom.mini.program.dingtalk.events.listener;

import cn.chinaunicom.mini.program.dingtalk.events.event.market.IntegrationAppInstallEvent;
import cn.chinaunicom.mini.program.dingtalk.events.event.market.MarketOrderEvent;
import cn.chinaunicom.mini.program.dingtalk.events.event.market.MarketOrderRefundEvent;

/**
 * @ProjectName: dingtalk-adapter
 * @Package: cn.chinaunicom.mini.program.dingtalk.events.listener
 * @ClassName: AppMarketEventListener
 * @Description: 应用商店事件监听器
 * @Author: wangjc
 * @CreateDate: 2024/6/11
 * @UpdateUser: wangjc
 * @UpdateDate: 2024/6/11
 * @UpdateRemark: 更新内容
 * @Version: 1.0
 */
public interface AppMarketEventListener {

    /**
     * 处理应用市场订单事件。
     * 当应用市场产生新的订单事件时，此方法将被调用以处理相关逻辑。
     *
     * @param event 包含订单信息的事件对象。
     */
    void handleAppMarketOrderEvent(MarketOrderEvent event);

    /**
     * 处理应用市场订单退款事件。
     * 当应用市场的订单发生退款事件时，此方法被调用以处理相关的退款逻辑。
     *
     * @param event 包含退款订单信息的事件对象。
     */
    void handleAppMarketOrderRefundEvent(MarketOrderRefundEvent event);

    /**
     * 处理集成应用安装事件。
     * 当有新的集成应用被安装时，此方法被调用以处理相关的安装逻辑。
     *
     * @param event 包含集成应用安装信息的事件对象。
     */
    void handleIntegrationAppInstallEvent(IntegrationAppInstallEvent event);
}
